package com.bootdo.common.utils;

import java.util.Random;

import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;

public class EmailUtils {
	/**
	 * 发送邮件
	 * @param fromId
	 * @param messageText
	 * @return
	 */
	public static boolean sendEmailMessage(String fromId,String messageText) {
		// 不要使用SimpleEmail,会出现乱码问题
        HtmlEmail email = new HtmlEmail();
        try {
         // 这里是SMTP发送服务器的名字：，普通qq号只能是smtp.qq.com ；smtp.exmail.qq.com没测试成功
         email.setHostName("smtp.qq.com");
         //设置需要鉴权端口
         email.setSmtpPort(465);
        //开启 SSL 加密
         email.setSSLOnConnect(true);
         // 字符编码集的设置
         email.setCharset("utf-8");
         // 收件人的邮箱
         email.addTo(fromId);
         // 发送人的邮箱
         email.setFrom("2100272728@qq.com", "子程科技");
         // 如果需要认证信息的话，设置认证：用户名-密码。分别为发件人在邮件服务器上的注册名称和得到的授权码
         email.setAuthentication("2100272728@qq.com", "obyyrrhiadzihbgc");
         email.setSubject("验证码");
         // 要发送的信息，由于使用了HtmlEmail，可以在邮件内容中使用HTML标签
         email.setMsg("尊敬的用户您好，您的验证码是:   "+messageText+"   ，有效期为120秒");
         // 发送
         email.send();
         System.out.println ( "邮件发送成功!" );
         return  true;
        } catch (EmailException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
         System.out.println ( "邮件发送失败!" );
        }
		return false;
	}
	
	/**
	 * 得到随机验证码
	 * @param x
	 * @return
	 */
	public static String getRandomStr(int x) {
		if(x <= 0) {return null;};
		String str = "";
		for(int i = 0; i < x; i++) {
			str += new Random().nextInt(10);
		}
		return str;
	}
	
}
